/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package pl.pai;
import klasy.PacjentBean;
import baza.DBManager;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import klasy.Pacjent;
import org.tempuri.ArrayOfPacjentPAI;
import org.tempuri.PacjentPAI;
import org.tempuri.WebServiceWyszukajPacjenta;

/**
 *
 * @author Grzegorz
 */
public class TestBean {
    
    private String test;
    
    private String pesel;
    
    private String res;
    
    private List<PacjentPAI> patients;

    public List<PacjentPAI> getPatients() {
        return patients;
    }

    public void setPatients(List<PacjentPAI> patients) {
        this.patients = patients;
    }

    public String getRes() {
        return res;
    }

    public void setRes(String res) {
        this.res = res;
    }
    
    private WebServiceWyszukajPacjenta webService;
    
    public TestBean(){
        webService = new WebServiceWyszukajPacjenta();
       patients = new ArrayList<PacjentPAI>();
        test = "";
    }
    
    public String doSth() throws IOException{
        PacjentBean p =new PacjentBean();
        webService = new WebServiceWyszukajPacjenta();
        ArrayOfPacjentPAI pacjenci = webService.getWebServiceWyszukajPacjentaSoap12().szukajPacjentaPesel(pesel);
        String result = " ";
        for (PacjentPAI pacjent : pacjenci.getPacjentPAI()) {
            result += " " + pacjent.toString();
        }
        res = result;
        patients = pacjenci.getPacjentPAI();
        
        EntityManager em = DBManager.getManager().createEntityManager();
        for (PacjentPAI pacjentPAI : patients) {
            
            String pesel = pacjentPAI.getPesel();
            try{
                Pacjent nowy = new Pacjent();
                nowy = (Pacjent) em.createQuery("SELECT p FROM Pacjent p WHERE p.pesel = :pesel").setParameter("pesel", pesel).getResultList().get(0);
                p.setPacjent(nowy);
                p.edytuj();
            }
            catch(NoResultException ex){
                Pacjent pacan = new Pacjent();
                pacan.setImie(pacjentPAI.getImie());
                pacan.setNaziwsko(pacjentPAI.getNazwisko());
                pacan.setKodPocztowy(pacjentPAI.getKodPocztowy());
                pacan.setMiasto(pacjentPAI.getMiasto());
                pacan.setNrDomu(pacjentPAI.getNrDomu());
                pacan.setNrLokum(pacjentPAI.getNrLokum());
                pacan.setUlica(pacjentPAI.getUlica());
                pacan.setTelefon(Integer.parseInt(pacjentPAI.getNrTelefonu()));
                pacan.setPesel(pacjentPAI.getPesel());
                p.setPacjent(pacan);  
                p.dodaj();
               //  em.createQuery("Insert into Pacjent(imie,nazwisko,telefon,pesel) p FROM Pacjent p WHERE p.pesel = :pesel").setParameter("pesel", pesel).getFirstResult();
            }
        }
        return "";
    }
    
    public String getTest(){
        return test;
    }
    
    public void setTest(String test){
        this.test = test;
    }

    public String getPesel() {
        return pesel;
    }

    public void setPesel(String pesel) {
        this.pesel = pesel;
    }
}
